// 云函数入口文件
const cloud = require('wx-server-sdk')

cloud.init({
  env: cloud.DYNAMIC_CURRENT_ENV
})
const db = cloud.database();
const _ = db.command;

// 取消参加，也就是要将活动状态改为2  相对应的报名活动人数也要减一
exports.main = async (event, context) => {
  const wxContext = cloud.getWXContext();
  const openid = wxContext.OPENID;

  // 还需要删除报名者名册的值
  db.collection('applicationForm')
  .where({
    _id:event.id
  })
  .update({
    data:{
      list:_.pull({
        openid
      })
    }
  })

  // 人数减一
  db.collection('publish')
  .doc(event.id)
  .update({
    data:{
      registeredCount:_.inc(-1)
    }
  })

  // 根据活动ID和openID来确定唯一
  return db.collection('join')
  .where({
    publish_id:event.id,
    openid
  })
  .update({
    data:{
      status:2
    }
  })
}